home *** CD-ROM | disk | FTP | other *** search
- <?xml version="1.0" encoding="utf-8" ?>
- <!DOCTYPE stack PUBLIC "-//Apple, Inc.//DTD stack V 2.0//EN" "" >
- <stack>
- <name>in</name>
- <id>-1</id>
- <cardCount>41</cardCount>
- <cardID>3020</cardID>
- <listID>4289</listID>
- <cantModify><false /></cantModify>
- <cantDelete><false /></cantDelete>
- <cantAbort><false /></cantAbort>
- <cardSize>
- <width>448</width>
- <height>280</height>
- </cardSize>
- <script>
- on openstack
- global htxxInitialized, htxxLastMaxDepth, htxxNextScreenCheck
-
- if isMe() then
- -- start using stack "Jump" -- during authoring only
- resetCardSize -- (Only needed if the user quit the stack from
- -- the registration form background.)
- show groups
- setupMenus
- put HTUMaxDepth() into htxxLastMaxDepth
- if htxxLastMaxDepth >= 4 then
- TryToInstall
- if the result is not empty then
- answer "Error trying to install HyperTint: " & the result
- end if
- end if
- -- We'll keep track of the current screen depth so that
- -- if the user changes the screen depth, we can reinstall
- -- HyperTint to match the new settings
- put the seconds + 3 into htxxNextScreenCheck
- end if
- end openstack
-
- on recheckScreenSettings
- global htxxInitialized,htxxLastMaxDepth
- put HTUMaxDepth() into newDepth
-
- -- We keep track of whether HYperTint is installed when we
- -- start so that we can tell the user if new screen settings
- -- are insufficient to keep it installed.
- if htxxInitialized is empty then
- put false into wasThereBefore
- else
- put true into wasThereBefore
- end if
-
- if newDepth is not htxxLastMaxDepth then
- -- The screen holding the card has a depth different
- -- from before. First, we remove HyperTint and then
- -- try to reinstall it.
- if htxxInitialized is true then
- HTRemove
- put empty into htxxInitialized
- end if
-
- -- If the new depth is less than 16 colors, and HyperTint
- -- was previously installed, let the user know why the
- -- color has disappeared.
- if wasThereBefore and newDepth < 4 then
- answer "I'm going to remove HyperTint because there aren't"¬
- & " enough colors anymore for it to look pretty."
-
- -- Turn on the black and white background picts
- set the showPict of this background to true
-
- go this card -- (Get rid of any remaining ugly color)
-
- else
- TryToInstall
- if the result is not empty then
- answer "Dave, we've got a problem adjusting to the new"¬
- & " color settings: " & the result
- else
- put true into htxxInitialized
- set the showPict of this background to false
- -- Now, we've got a problem (alright, ... *I* have a problem)
- -- We've just reinstalled HyperTint, so we have to go
- -- and re-establish the color regions and backdrop picture
- -- for this background (or card, if this card has a special
- -- color setup)
- send colorSetup to this card
- HTLock off
- end if
- end if
- put newDepth into htxxLastMaxDepth
- end if
- end recheckScreenSettings
-
- on InstallHT depthOption
- -- This routine tries to perform a single installation
- -- of HyperTint. DepthOption should either be an empty
- -- string (or a missing parameter) or one of the maxDepthnn keywords.
- HyperTint "later","delay",depthOption
- -- (If depthOption is an empty string, it will be
- -- ignored by the HyperTint command)
-
- if the result is not empty then
- return the result
- else if the heapSpace < 100000 then
- -- No enough memory left over for HyperCard, so remove HyperTint
- HTRemove
- return "Out of Memory"
- else
- return empty -- Success.
- end if
- end InstallHT
-
-
- on TryToInstall
- -- This routine will attempt to install HyperTint to match
- -- the current screen settings. Calling routines can
- -- check "the result" afterwards to see if installation was a
- -- success.
- --
- -- On 16-bit and 24-bit color screens, we will first attempt to
- -- install using 32-bit offscreen buffers. If there is not
- -- enough memory, we will install at 8 bits and turn off
- -- visual effects.
- global htxxInitialized, htxxLastMaxDepth, htxxNextScreenCheck
- global htxyVisAllowed -- This global is just used on our
- -- visual effects example cards.
-
- put empty into htxxInitialized -- Assume the worst until we succeed
- put HTUMaxDepth() into htxxLastMaxDepth
- if htxxLastMaxDepth >= 4 then
- -- Try to install at full screen depth
- InstallHT
- if the result is empty then
- -- We succeeded at full screen depth
- put true into htxxInitialized
- put true into htxyVisAllowed
- put empty into resultValue
- else
- -- Special check for 16 and 24/32 bit screens.
- if htxxLastMaxDepth <= 8 then
- put the result into resultValue -- for 256 or fewer colors, give up now
- else
- -- We'll assume that any problem besides lack
- -- of memory will show up again the second time we try to
- -- install.
- InstallHT "maxdepth8" -- Try again restricted to 8 bits.
- if the result is not empty then
- put the result into resultValue -- Still not enough memory
- else
- put true into htxxInitialized
- put false into htxyVisAllowed -- Installed, but visual effects will be too slow
- HTVisual "disallow"
- -- if the result is not empty then answer the result
- put empty into resultValue
- end if
- end if
- end if
- else
- put empty into resultValue -- We don't install at fewer than
- -- 16 colors, but we don't report it as an error either, since
- -- the title card tells the user that we won't install if
- -- fewer than 16 colors available and our recheckScreenSettings
- -- handler also informs the user when screen settings are
- -- changed.
-
- end if
-
- return resultValue
- end TryToInstall
-
-
-
-
-
- on idle
- global htxxNextScreenCheck,bob
- if IsMe() then
-
- if the seconds > htxxNextScreenCheck then
- -- Time to check whether the user has changed the monitor's
- -- pixel depth or moved the stack to another monitor
- recheckScreenSettings
- -- Wait awhile before checking again
- put the seconds + 3 into htxxNextScreenCheck
- end if
- end if
- end idle
-
- on closeStack
- global htxyDisplayed,htxxInitialized
- if isMe() then
- put the lockScreen into saveScreen
- -- put (the short number of this card is 1) into wasFirst
- lock screen
- -- if not wasFirst then
- -- go first card
- -- end if
- set the showPict of background "TitleBackground" to true
- repeat with i = 1 to 4 -- the number of buttons in card 1
- hide button i of card 1
- end repeat
- -- if not wasFirst then
- -- go back
- -- end if
- clearMenus
- if htxxInitialized is true then
- HTRemove
- end if
-
- put empty into htxyDisplayed
- put empty into htxxInitialized
- end if
- end closeStack
-
- on suspendStack
- if isMe() then
- clearMenus
- end if
- end suspendStack
-
- on resumeStack
- if isMe() then
- setupMenus
- end if
- end resumeStack
-
- on colorSetup
-
- -- This is the default colorSetup routine that looks for
- -- a color scheme matching the name of the background.
- -- So that the stack will run properly when HyperTint is
- -- not installed, we check for HyperTint before trying
- -- to read the color scheme.
- if HTUIsInstalled() then
- HTColorScheme the short name of this background
- if the result is not empty and the result is not "Not Installed" then
- answer "Error configuring color. " & the result
- end if
- end if
- end colorSetup
-
- -- on idle
- -- bddelay forceoff
- -- end idle
-
- function isMe
- -- Because this stack can be inserted into the
- -- user-defined message hierarchy -- that is, a
- -- script can "start using" this stack -- this
- -- stack may get "openStack" and "closeStack"
- -- messages when other stacks are opened or closed.
- -- To make sure we don't trigger the opening sequence
- -- for this stack by mistake, the isMe() function
- -- is called to make sure that the stack being opened
- -- is this stack.
- return the long name of me is the long name of this stack
- end isMe
-
-
- on cw
- -- show the color wheel, get the result and put it into
- -- the message box and the global variable theColor
-
- global theColor
-
- HTUPickColor "Choose a color, any color at all", theColor
- if the result is empty then
- put it into theColor
- put it
- else
- if the result is not "Cancel" then answer the result
- end if
- end cw
-
- on replaceScript oldString,newString
- -- Requires handlers: setUserLevelFive,restoreUserLevel
- -- search ALL scripts of a stack for a 'oldString' of characters
- global ScriptFindString -- HyperTalk global variable
- set lockRecent to true
- setUserLevelFive -- saves current level and sets level 5
- push card -- remember where we are
- if oldString is empty then
- ask "Search for what string?" with ScriptFindString -- Γêå
- if (it is empty) or (the result is "Cancel") then exit replaceScript
- put it into oldString -- otherwise use it as the search oldString
- end if
- -- put in HyperTalk global so just CMD-F in editor for easy find
- put oldString into ScriptFindString
- set lockMessages to true -- avoid open messages
- set cursor to busy
- -- search the stack script of the stack
- if the script of this stack contains oldString then
- set the script of this stack¬
- to strSandR(the script of this stack, oldString, newString)
- end if
-
- -- search the background scripts and objects of the stack
- repeat with curBkgnd = 1 to the number of bkgnds
- set cursor to busy
- go to card 1 of bkgnd curBkgnd
- if the script of this bkgnd contains oldString then
- set the script of this background¬
- to strSandR(the script of this background, oldString, newString)
- end if
- repeat with curBgBtn = 1 to the number of bkgnd buttons
- set cursor to busy
- if the script of bkgnd button curBgBtn contains oldString then
- set the script of bkgnd button curBgBtn¬
- to strSandR(the script of bkgnd button curBgBtn, oldString, newString)
- end if
- end repeat
- repeat with curBgField = 1 to the number of bkgnd fields
- set cursor to busy
- if the script of bkgnd field curBgField contains oldString then
- set the script of bkgnd field curBgField¬
- to strSandR(the script of bkgnd field curBgField, oldString, newString)
- end if
- end repeat
- end repeat
- -- search the card scripts and objects of the stack
- repeat with curCard = 1 to the number of cards
- set cursor to busy
- go card curCard
- if the script of this card contains oldString then
- set the script of this card¬
- to strSandR(the script of this card, oldString, newString)
- end if
- repeat with curCdBtn = 1 to the number of card buttons
- set cursor to busy
- if the script of card button curCdBtn contains oldString then
- set the script of card button curCdBtn¬
- to strSandR(the script of card button curCdBtn, oldString, newString)
- end if
- end repeat
- repeat with curCdFld = 1 to the number of card fields
- set cursor to busy
- if the script of card field curCdFld contains oldString then
- set the script of card field curCdFld curCdBtn¬
- to strSandR(the script of card field curCdFld, oldString, newString)
- end if
- end repeat
- end repeat
- pop card -- return to where we were
- set lockMessages to false
- set lockRecent to false
- restoreUserLevel -- set userLevel back to whatever it was
- -- answer "Search replacement done!" -- Γêå
- end replaceScript
-
- function strSandR patient,oldString,newString
- -- This function will return patient with all copies
- -- of oldString replaced by newString
- put length(oldString) into oldLength
- repeat
- put offset(oldString, patient) into startChar
- if startChar is 0 then exit repeat
- put newString into char startChar¬
- to (startChar + oldLength - 1) of patient
- end repeat
- return patient
- end strSandR
-
- on clearAllRegions
- repeat with i = 1 to 10
- HTRClear i
- end repeat
- end clearAllRegions
-
- function isInUse longName
- -- Given the long name of a stack, this function will return
- -- true if the stack is currently in the list of stacks in
- -- use.
- delete first word of longName
- delete first char of longName
- delete last char of longName
-
- return longName is first line of the stacksInUse¬
- or longName is last line of the stacksInUse¬
- or return & longName & return is in the stacksInUse
- end isInUse
-
- -- Our link follower
- on followLink topic
- put field "HJTopicList" into tList
- if return & topic & return is not in tList then
- -- NOPE, JUST DO NOTHING IF THE WORD ISN'T A VALID TOPIC
- -- answer "Sorry, ΓÇ£" & topic & "ΓÇ¥ is not linked to any card."
- else
- put empty into theLink
- repeat with i = 2 to the number of lines in tList
- -- \
- -- \_> (The first line is always blank.)
- if line i of tList is topic then
- put line i of field "HJLinkList" into theLink
- exit repeat
- end if
- end repeat
-
- if theLink is not empty then
- if word 1 of theLink is not "S" then
- go to card id theLink
- else
- get word 2 to 999 of theLink
- if the number of words in it is 1 then
- send it && quote & topic & quote to this card
- else
- send it to this card
- end if
- end if
-
- if the result is not empty then
- answer the result
- end if
- end if
- end if
- end followLink
-
-
- ---------------------------------------------------------------------
- - Routines to deal with the color selection palette
- ---------------------------------------------------------------------
-
- on cc
- --
- palette "HT Color Panel"
- if the result is not empty then
- answer "Error when trying to open the region color panel. "¬
- & the result & "."
- end if
- end cc
-
- on cclick regionNumber
- -- This handler is called whenever the user clicks on
- -- one of the color palette region buttons
-
- put the shiftKey into shiftK
- put the optionKey into optionK
-
- if not HTUIsInstalled() then
- answer "Sorry, HyperTint is not active in this stack"
- else
- -- There's no sense redrawing the screen after the
- -- color wheel dialog box is dismissed: we're just going to
- -- have to redraw it anyway. So let's lock the screen and
- -- then unlock it afterwards.
- -- HTLock on
- --lock screen
- if optionK is down then
- -- A background color option
- answer "Make the region's background color the default color or make it transparent?" with "Default"¬
- or "Transparent" or "Cancel"
- if it is "Default" then
- HTRBackground regionNumber,"default","noDelay"
- else if it is "Transparent" then
- HTRBackground regionNumber,"transparent","noDelay"
- end if
- else
- -- No option key, so a straight-forward request to change a color
- if shiftK is up then
- -- First, if the background is currently the default
- -- or transparent, warn the user
- get HTRCurrBC(regionNumber)
- if it is "transparent" then
- answer "This background is currently transparent."¬
- & " Do you want to select an opaque color?"¬
- with "Yes" or "No"
- if it is "No" then
- exit cclick
- else
- put "white" into it -- make sure a valid color is
- -- passed to HTUPickColor
- end if
- else if it is "default" then
- answer "This background currently uses the default background color."¬
- & " Do you want to use a non-default background for this region?"¬
- with "Yes" or "No"
- if it is "No" then
- exit cclick
- else
- get HTCurrBC() -- use the default color as the starting color
- end if
- end if
- -- By this step, the variable it should contain a valid
- -- starting color which can be passed to HTUPickColor
- HTUPickColor "Region" && regionNumber && "background", it
- if the result is empty then
- HTRBackground regionNumber,it,"noDelay"
- else if the result is not "Cancel" then
- answer the result
- end if
- else
- HTUPickColor "Region" && regionNumber && "foreground",¬
- HTRCurrFC(regionNumber)
- if the result is empty then
- HTRForeground regionNumber,it,"noDelay"
- else if the result is not "Cancel" then
- answer the result
- end if
- end if
- end if
- -- unlock screen
- end if
- -- go this card
- end cclick
-
- on cdefClick
- put the shiftKey into shiftK
- put the optionKey into optionK
-
- if optionK is down then
- answer "Option-clicking does not work for the Default button."
- else
- if shiftK is down then
- HTUPickColor "Default foreground color", HTCurrFC()
- if the result is empty then
- HTForeground it,"noDelay"
- else if the result is not "Cancel" then
- answer the result
- end if
- else
- HTUPickColor "Default background color", HTCurrBC()
- if the result is empty then
- HTBackground it,"noDelay"
- else if the result is not "Cancel" then
- answer the result
- end if
- end if
- end if
- end cdefClick
-
- on saveAsBkgnd
- -- Save the current color scheme under the name of this background
- -- Note: if the background name is empty, HyperCard will
- -- return a "name" along the lines of "bkgnd id 42"
-
- -- Change for demo: tell the user that saving is unavailable.
- answer "Saving a color scheme requires the HTWriteScheme"¬
- && "XCMD, which is not included in this demo."
- exit saveAsBkgnd
-
-
- set the cursor to busy
- HTWriteScheme the short name of this background
- set the cursor to busy
- if the result is not empty then
- answer "Error when saving color scheme. " & the result
- end if
- end saveAsBkgnd
-
- on saveAsOther
- global htccLastSchemeName
-
- -- Change for demo: tell the user that saving is unavailable.
- answer "Saving a color scheme requires the HTWriteScheme"¬
- && "XCMD, which is not included in this demo."
- exit saveAsOther
-
- -- This handler will allow the user to save the current
- -- color scheme under a different name.
- ask "Save color scheme as" with htccLastSchemeName
- if the result is empty then
- put it into htccLastSchemeName
- HTWriteScheme htccLastSchemeName
- if the result is not empty then
- answer "Error when saving color scheme. " & the result
- end if
- end if
- end saveAsOther
-
-
- on openPalette palName
- -- We want to trap the palette opening, whether the color choosing
- -- palette is shown via our "cc" handler shortcut or by directly
- -- calling the palette command.
-
- global htccWasInUse
-
- if palName is "Colors" then
- -- We keep track of whether this stack is already in use,
- -- so that we don't yank it out of the message hierarchy
- -- when the palette is closed: the scripter may be
- -- counting on this stack to supply the XCMDs for scripts.
- put IsInUse(the long name of me) into htccWasInUse
- if not htccWasInUse then
- start using me
- end if
- end if
- end openPalette
-
- on closePalette palName
- global htccWasInUse
-
- if palName is "Colors" then
- if not htccWasInUse then
- stop using me
- end if
- end if
- end closePalette
-
-
- -----------------------------------------------------------
- -- Handlers that are used for navigation through this stack
- -----------------------------------------------------------
-
- on setupMenus
- global htxyRecent
-
- if there is not a menu "Topics" then
- create menu "Topics"
- end if
- selectTopicMenu
- if there is not a menu "Recent" then
- create menu "Recent"
- end if
- if htxyRecent is empty then
- put "No where to go" into menu "Recent"
- disable menuItem 1 of menu "Recent"
- else
- put htxyRecent into menu "Recent"
- end if
- end setupmenus
-
- on selectTopicMenu
- -- Our navigation menus
- global htxyOverview,htxyXCMD,htxyNotes,htxyAbout,htxyTitle
-
- -- If we don't yet have our menus, get them
- if htxyOverview is empty then
- put card field "Title Card" of card 1 into htxyTitle
-
- put htxyTitle & "-" & return ¬
- & card field "XCMD Reference" of card 1 into htxyXCMD
-
- put htxyTitle & "-" & return ¬
- & card field "Notes and Tips" of card 1 into htxyNotes
-
- put htxyTitle & "-" & return ¬
- & card field "HyperTint Overview" of card 1 into htxyOverview
-
- put htxyTitle & "-" & return ¬
- & card field "About HyperTint" of card 1 into htxyAbout
- end if
-
- get field "Section"
- if it is "Title Card" then
- put htxyTitle into menu "Topics"
- else if it is "XCMD Reference" then
- put htxyXCMD into menu "Topics"
- else if it is "Notes and Tips" then
- put htxyNotes into menu "Topics"
- else if it is "HyperTint Overview" then
- put htxyOverview into menu "Topics"
- else if it is "About HyperTint" then
- put htxyAbout into menu "Topics"
- end if
- set the markChar of menuItem it of menu "Topics" to "ΓÇó"
- send markCardMenu to this background
- end selectTopicMenu
-
- on markCardMenu
- -- The default card action, good for the title card and
- -- the topic list cards, is that no further marking is required.
- end markCardMenu
-
-
-
- on clearMenus
- if there is a menu "Recent" then -- This check really only necessary during stack authoring stages
- delete menu "Recent"
- end if
- if there is a menu "Topics" then -- This check really only necessary during stack authoring stages
- delete menu "Topics"
- end if
- end clearMenus
-
- on addRecent cardName
- global htxyRecent
-
- -- If this name is already in the list then get rid
- -- rid of it so that it will be moved to the top.
- if cardName is in htxyRecent then
- repeat with i = 1 to the number of lines in htxyRecent
- if cardName is line i of htxyRecent then
- delete line i of htxyRecent
- exit repeat
- end if
- end repeat
- end if
-
- put cardName & return before htxyRecent
- if the number of lines in htxyRecent > 15 then
- -- (The if is used to avoid the bug in HyperCard 2.0
- -- involving deleting non-existent lines.)
- delete line 15 of htxyRecent
- end if
- put htxyRecent into menu "Recent"
- set the checkmark of menuItem 1 of menu "Recent" to true
- end addRecent
-
- function truncateName cardName
- return char 1 to 25 of cardName
- end truncateName
-
- on doMenu whichItem,whichMenu
- -- Both of this stack's menu operate the same way.
- if whichMenu is "Recent" or whichMenu is "Topics" then
- go to card truncateName(whichItem)
- -- During development, it probably doesn't hurt to check the
- -- result.
- if the result is not empty then
- answer "I'm lost: " & the result
- end if
- else
- pass doMenu
- end if
- end doMenu
-
- on showAllCards
- repeat for the number of cards
- if the mouseClick then exit repeat
- go next
- end repeat
- end showAllCards
-
- on ShowAll
- showAllCards
- end ShowAll
-
- on showCards
- repeat for the number of cards
- if the mouseClick then exit repeat
- go next
- end repeat
- end showCards
-
-
- on resetCardSize
- set the rect of this card to 0,0,448,280
- end resetCardSize
-
-
- on yankeeize
- repeat
- find string "colour"
- if the result is not empty then
- exit repeat
- end if
- put "color" into the foundChunk
- end repeat
- end yankeeize
-
- on HTWriteScheme
- answer "Sorry, the HTWriteScheme XCMD is not included in the demo version."
- exit to HyperCard
- end HTWriteScheme
-
- on HTRClear
- answer "Sorry, the HTRClear XCMD is not included in the demo version."
- exit to HyperCard
- end HTRClear
-
- on HTRAddRRect
- answer "Sorry, the HTRAddRRect XCMD is not included in the demo version."
- exit to HyperCard
- end HTRAddRRect
-
- on HTRSubRRect
- answer "Sorry, the HTRSubRRect XCMD is not included in the demo version."
- exit to HyperCard
- end HTRSubRRect</script>
- <background id="2760" file="background_2760.xml" name="TitleBackground" />
- <background id="3997" file="background_3997.xml" name="Description" />
- <background id="4603" file="background_4603.xml" name="Section Titles" />
- <background id="18488" file="background_18488.xml" name="About" />
- <background id="19747" file="background_19747.xml" name="Form" />
- <background id="20104" file="background_20104.xml" name="Examples" />
- <card id="3020" file="card_3020.xml" marked="false" name="Title Card" owner="2760" />
- <card id="4709" file="card_4709.xml" marked="false" name="HyperTint Overview" owner="4603" />
- <card id="25776" file="card_25776.xml" marked="false" name="HyperTint Overview (2)" owner="4603" />
- <card id="9029" file="card_9029.xml" marked="false" name="About This Demo" owner="3997" />
- <card id="7847" file="card_7847.xml" marked="false" name="An Overview of This Stack" owner="3997" />
- <card id="25077" file="card_25077.xml" marked="false" name="How to Navigate Through T" owner="3997" />
- <card id="6822" file="card_6822.xml" marked="false" name="HyperTint Features" owner="3997" />
- <card id="6946" file="card_6946.xml" marked="false" name="Backdrops" owner="3997" />
- <card id="2430" file="card_2430.xml" marked="false" name="Colorizing with HyperTint" owner="3997" />
- <card id="6017" file="card_6017.xml" marked="false" name="Color Regions" owner="3997" />
- <card id="8205" file="card_8205.xml" marked="false" name="Color Schemes" owner="3997" />
- <card id="9289" file="card_9289.xml" marked="false" name="Visual Effects" owner="3997" />
- <card id="8003" file="card_8003.xml" marked="false" name="Text Optimizations" owner="3997" />
- <card id="10960" file="card_10960.xml" marked="false" name="Making Authoring Easier" owner="3997" />
- <card id="7198" file="card_7198.xml" marked="false" name="System Requirements" owner="3997" />
- <card id="7508" file="card_7508.xml" marked="false" name="Memory Requirements" owner="3997" />
- <card id="6550" file="card_6550.xml" marked="false" name="XCMD Reference" owner="4603" />
- <card id="21193" file="card_21193.xml" marked="false" name="XCMD Reference (2)" owner="4603" />
- <card id="3747" file="card_3747.xml" marked="false" name="HyperTint XCMD" owner="3997" />
- <card id="24169" file="card_24169.xml" marked="false" name="Color Specifier Examples" owner="20104" />
- <card id="8801" file="card_8801.xml" marked="false" name="HTChangePict XCMD" owner="3997" />
- <card id="12330" file="card_12330.xml" marked="false" name="HTAddPict XCMD" owner="3997" />
- <card id="16192" file="card_16192.xml" marked="false" name="HTAddPict Option Examples" owner="20104" />
- <card id="20861" file="card_20861.xml" marked="false" name="Color Region Examples" owner="20104" />
- <card id="14255" file="card_14255.xml" marked="false" name="HTVisual XCMD" owner="3997" />
- <card id="24485" file="card_24485.xml" marked="false" name="Visual Effect Examples" owner="20104" />
- <card id="20591" file="card_20591.xml" marked="false" name="Button and Field Visual E" owner="20104" />
- <card id="9755" file="card_9755.xml" marked="false" name="Additional Cards in Docum" owner="3997" />
- <card id="8686" file="card_8686.xml" marked="false" name="Notes and Tips" owner="4603" />
- <card id="5160" file="card_5160.xml" marked="false" name="Moving Things Around" owner="3997" />
- <card id="15926" file="card_15926.xml" marked="false" name="Assigning Colors Interact" owner="3997" />
- <card id="26670" file="card_26670.xml" marked="false" name="What Stays Black and Whit" owner="3997" />
- <card id="25328" file="card_25328.xml" marked="false" name="Reducing Memory Requireme" owner="3997" />
- <card id="17922" file="card_17922.xml" marked="false" name="Compatibility with Future" owner="3997" />
- <card id="6295" file="card_6295.xml" marked="false" name="Additional Cards in Docum" owner="3997" />
- <card id="18735" file="card_18735.xml" marked="false" name="About HyperTint" owner="18488" />
- <card id="18200" file="card_18200.xml" marked="false" name="Symplex Systems" owner="18488" />
- <card id="25926" file="card_25926.xml" marked="false" name="Distribution of this Demo" owner="18488" />
- <card id="19338" file="card_19338.xml" marked="false" name="Ordering Info " owner="18488" />
- <card id="23519" file="card_23519.xml" marked="false" name="HyperTint Order Form" owner="19747" />
- <card id="29183" file="card_29183.xml" marked="false" name="HyperTint License Agreeme" owner="19747" />
- </stack>
-